<?php 

defined('G_IN_SYSTEM')or exit('no');

System::load_app_class('admin',G_ADMIN_DIR,'no');

System::load_app_fun('global',G_ADMIN_DIR);





class setting extends admin {	

	public function __construct(){

		parent::__construct();

		$this->db=System::load_sys_class("model");

		$this->ment=array(

						array("webcfg","SEO设置",ROUTE_M.'/'.ROUTE_C."/webcfg"),

						array("config","基本配置",ROUTE_M.'/'.ROUTE_C."/config"),

						array("upload","上传配置",ROUTE_M.'/'.ROUTE_C."/upload"),

						array("watermark","水印配置",ROUTE_M.'/'.ROUTE_C."/watermark"),

						array("email","邮箱配置",ROUTE_M.'/'.ROUTE_C."/email"),

						array("mobile","短信配置",ROUTE_M.'/'.ROUTE_C."/mobile"),

						array("payset","支付方式","pay/pay/pay_list"),						

						array("domain","模块域名绑定",ROUTE_M.'/'.ROUTE_C."/domain"),

						array("send","<b>中奖通知设置</b>",ROUTE_M.'/'.ROUTE_C."/sendconfig")

		);

	

	}

	

	/**

	*	中奖通知设置

	*/

	public function sendconfig(){

	

	  $type = System::load_sys_config("send","type");

	  if(isset($_POST['s_type'])){	  

		$s_type = abs($_POST['s_type']);

		if(($s_type == $type) || $s_type > 7){

			_message("更新完成!");

		}

		$html = "<?php return array('type'=>'$s_type'); ?>";

		if(!is_writable(G_CONFIG.'send.inc.php')) exit('send.inc.php 没有写入权限!');

			file_put_contents(G_CONFIG.'send.inc.php',$html);

			_message("更新完成!");

		}

	  include $this->tpl(ROUTE_M,'config.send');

	}

	

	public function domain(){	

		$domain_cfg = System::load_sys_config("domain");

		if(empty($domain_cfg))$domain_cfg = array();

		if(isset($_POST['dosubmit']) && $_POST['dosubmit'] != 'del'){

			//插入或者修改

			$domain  = isset($_POST['domain']) ? trim(htmlspecialchars($_POST['domain'])) : null;

			$module  = isset($_POST['module']) ? trim(htmlspecialchars($_POST['module'])) : null;

			$action  = isset($_POST['action']) ? trim(htmlspecialchars($_POST['action'])) : null;

			$func    = isset($_POST['func']) ? trim(htmlspecialchars($_POST['func'])) : null;

			

			if(!$domain || !$module){

				exit("请正确填写绑定参数!");				

			}

			if($_POST['dosubmit'] == 'install'){

				if(array_key_exists($domain,$domain_cfg)){

					exit("绑定的域名已经被使用!");//array_keys

				}			

			}

			

			$domain =  str_ireplace("http://",'',trim($domain,'/'));		

			$domain_cfg[$domain] = array("m"=>$module,"c"=>$action,"a"=>$func);

			$html  = "<?php \n\n";

			$html .= "return ";

			$html .= var_export($domain_cfg,true).';';	

			$html .= "\n\n?>";

			if(!is_writable(G_CONFIG.'domain.inc.php')) exit('domain.inc.php 没有写入权限!');

			file_put_contents(G_CONFIG.'domain.inc.php',$html);

			exit("ok");

		}

		

		if(isset($_POST['dosubmit']) && $_POST['dosubmit'] == 'del'){

			$domain  = isset($_POST['domain']) ? trim(htmlspecialchars($_POST['domain'])) : null;

			if(!$domain){

				exit("操作失败1!");			

			}

			if(isset($domain_cfg[$domain])){

				unset($domain_cfg[$domain]);

				$html  = "<?php \n\n";

				$html .= "return ";

				$html .= var_export($domain_cfg,true).';';	

				$html .= "\n\n?>";

				if(!is_writable(G_CONFIG.'domain.inc.php')) exit('domain.inc.php 没有写入权限!');

				file_put_contents(G_CONFIG.'domain.inc.php',$html);

				exit("ok");

			}else{

				exit("操作失败2!");	

			}

		}

		



		 



		

		

		include $this->tpl(ROUTE_M,'config.domain');

	}

	

	//写入文件

	public function cfgPut(){

		$cfg=$this->db->GetList("select * from `@#_config` where 1");		

		$html="<?php \n defined('G_IN_SYSTEM') or exit('No permission resources.'); \n";

		$html.="return array( \n";

		foreach ($cfg as $v){

			$html.="'$v[name]' => '$v[value]',//$v[zhushi] ";

			$html.="\n";		

		}

		$html.="); \n ?>";

		if(!is_writable(G_CONFIG.'system.inc.php')) _message('Please chmod  system  to 0777 !');

		return $ok=file_put_contents(G_CONFIG.'system.inc.php',$html);		

	}

	//基本设置

	public function config(){

	

		if(isset($_POST['dosubmit'])){		

			$charset=htmlspecialchars($_POST['charset']);

			$timezone=htmlspecialchars($_POST['timezone']);

			$error=htmlspecialchars($_POST['error']);

			$gzip=htmlspecialchars($_POST['gzip']);

			$web_verify=htmlspecialchars($_POST['web_verify']);

			$xianshi=htmlspecialchars($_POST['xianshi']);

			$sendmobile=htmlspecialchars($_POST['sendmobile']);

			$index_name=htmlspecialchars($_POST['index_name']);

			$expstr=htmlspecialchars($_POST['expstr']);

			$admindir=htmlspecialchars($_POST['admindir']);

			$web_off=htmlspecialchars($_POST['web_off']);

			$web_off_text=htmlspecialchars($_POST['web_off_text']);

			$qq=htmlspecialchars($_POST['qq']);

			$qq_qun=htmlspecialchars($_POST['qq_qun']);

			$cell=htmlspecialchars($_POST['cell']);

			$goods_end_time = intval($_POST['goods_end_time']);

			if($goods_end_time < 30 && $goods_end_time != 0){

				$goods_end_time = 180;

			}

			if($goods_end_time >= 300){

				$goods_end_time = 180;

			}	

			

			$this->db->Query("UPDATE `@#_config` SET `value`='$charset' WHERE (`name`='charset')");

			$this->db->Query("UPDATE `@#_config` SET `value`='$timezone' WHERE (`name`='timezone')");

			$this->db->Query("UPDATE `@#_config` SET `value`='$error' WHERE (`name`='error')");

			$this->db->Query("UPDATE `@#_config` SET `value`='$gzip' WHERE (`name`='gzip')");			

			$this->db->Query("UPDATE `@#_config` SET `value`='$index_name' WHERE (`name`='index_name')");

			$this->db->Query("UPDATE `@#_config` SET `value`='$expstr' WHERE (`name`='expstr')");

			$this->db->Query("UPDATE `@#_config` SET `value`='$admindir' WHERE (`name`='admindir')");

			$this->db->Query("UPDATE `@#_config` SET `value`='$web_off' WHERE (`name`='web_off')");

			$this->db->Query("UPDATE `@#_config` SET `value`='$xianshi' WHERE (`name`='xianshi')");

			$this->db->Query("UPDATE `@#_config` SET `value`='$web_verify' WHERE (`name`='web_verify')");

			$this->db->Query("UPDATE `@#_config` SET `value`='$web_off_text' WHERE (`name`='web_off_text')");

			$this->db->Query("UPDATE `@#_config` SET `value`='$qq' WHERE (`name`='qq')");

			$this->db->Query("UPDATE `@#_config` SET `value`='$qq_qun' WHERE (`name`='qq_qun')");

			$this->db->Query("UPDATE `@#_config` SET `value`='$cell' WHERE (`name`='cell')");

			$this->db->Query("UPDATE `@#_config` SET `value`='$goods_end_time' WHERE (`name`='goods_end_time')");

			$this->db->Query("UPDATE `@#_config` SET `value`='$sendmobile' WHERE (`name`='sendmobile')");

			

			$admindir_one = dirname(__FILE__);	

			$admindir_two = dirname($admindir_one).DIRECTORY_SEPARATOR.$admindir;

			if($admindir_one !== $admindir_two){			

				rename($admindir_one,$admindir_two);

			}			

			$ok=$this->cfgPut();

			if($this->db->affected_rows() && $ok){				

				_message("修改成功");

			}else{

				_message("修改失败");

			}

		}

	

		

		$web=System::load_sys_config('system');

		include $this->tpl(ROUTE_M,'config.system');

	}

	

	public function webcfg(){

		if(isset($_POST['dosubmit'])){

		

			$web_name=htmlspecialchars($_POST['web_name']);

			$web_name_two=htmlspecialchars($_POST['web_name_two']);

			$web_path=htmlspecialchars($_POST['web_path']);

			$web_key=htmlspecialchars($_POST['web_key']);

			$web_des=htmlspecialchars($_POST['web_des']);

			$web_logo=htmlspecialchars($_POST['web_logo']);			

			$web_copyright=htmlspecialchars($_POST['web_copyright']);

			$this->db->Query("UPDATE `@#_config` SET `value`='$web_name' WHERE (`name`='web_name')");

			$this->db->Query("UPDATE `@#_config` SET `value`='$web_name_two' WHERE (`name`='web_name_two')");

			$this->db->Query("UPDATE `@#_config` SET `value`='$web_key' WHERE (`name`='web_key')");

			$this->db->Query("UPDATE `@#_config` SET `value`='$web_des' WHERE (`name`='web_des')");

			$this->db->Query("UPDATE `@#_config` SET `value`='$web_path' WHERE (`name`='web_path')");

			$this->db->Query("UPDATE `@#_config` SET `value`='$web_logo' WHERE (`name`='web_logo')");

			$this->db->Query("UPDATE `@#_config` SET `value`='$web_copyright' WHERE (`name`='web_copyright')");

			

			$ok=$this->cfgPut();

			if($this->db->affected_rows() && $ok){

				_message("修改成功");

			}else{

				_message("修改失败");

			}

		}

		

		$web=System::load_sys_config('system');

		include $this->tpl(ROUTE_M,'config.webcfg');

	}	

	public function email(){

		$cesi=$this->segment(4);

		if($cesi=='cesi'){

			$youxiang=$this->segment(5);		

			$youxiang=str_replace("|",".",$youxiang);

			$ok=_sendemail($youxiang,'',"后台邮箱配置测试成功","<b>恭喜你邮箱测试成功</b>","1","0");

			if($ok=='1'){

				echo "邮件测试成功";

			}else{

				echo "邮件测试失败";

			}

			exit;

		}

		

		if(isset($_POST['dosubmit'])){

			$stmp_host=htmlspecialchars($_POST['server']);

			$email=htmlspecialchars($_POST['email']);

			$user=htmlspecialchars($_POST['user']);

			$pass=htmlspecialchars($_POST['pass']);

			$big=htmlspecialchars($_POST['big']);

			$fromName=htmlspecialchars($_POST['name']);

			$html=<<<HTML

			<?php 

			return array (	

				'stmp_host' => '{$stmp_host}',	//stmp服务器

				'user' => '{$user}',//账号

				'pass' => '{$pass}',		//密码

				'big' => '{$big}',				//发送编码

				'from' => "{$email}",//发件人

				'fromName' => "{$fromName}",  		//发件人名

				'nohtml' => "不支持HTML格式"  	//不支持HTML

			);

			?>

HTML;

			if(!is_writable(G_CONFIG.'email.inc.php')) _message('Please chmod  email  to 0777 !');

			$ok=file_put_contents(G_CONFIG.'email.inc.php',$html);

			if($ok){

				_message("操作成功");

			}

		}

		

		$info=System::load_sys_config("email");			

		include $this->tpl(ROUTE_M,'config.email');

	}


	/*短信配置与测试*/
	public function mobile(){
		
		$mobiles = System::load_sys_config("mobile");
		$sendobj = System::load_sys_class("sendmobile");
		
		/*发送测试开始*/
		/*
		  $sendobj -> init(array("mobile"=>"18306084563","content"=>"..."));
		  $ok = $sendobj -> send();
		  var_dump($ok);
		 */
		/*发送测试完成*/
		
		/*修改和启用短信接口*/
		if(isset($_POST['dosubmit'])){
					
			$cfg_id= trim($_POST['mid']);			
			$cfg_pass = trim($_POST['mpass']);	
			$cfg_qianming = trim(isset($_POST['mqianming']) ? $_POST['mqianming'] : '');
			$cfg_type  = abs(intval($_POST['interface']));
			
			$mobiles['cfg_mobile_on'] = $cfg_type;			
			$key = "cfg_mobile_".$cfg_type;
			
			$mobiles[$key]['mid'] =  $cfg_id;
			$mobiles[$key]['mpass'] =  $cfg_pass;
			$mobiles[$key]['mqianming'] =  $cfg_qianming;
			
			if($cfg_pass=='******'){
				_message("保存需要在输入一次短信密码!!!");
			}
			
			if(!is_writable(G_CONFIG.'mobile.inc.php')) _message('Please chmod  mobile.ini.php  to 0777 !');
				
			$html  = var_export($mobiles,true);
			$html  = "<?php \n return ".$html."; \n?>";
			$ok=file_put_contents(G_CONFIG.'mobile.inc.php',$html);
			if($ok){
				_message("短信配置更新成功!");
			}
				
		}
		
		
		/*短信测试*/
		if(isset($_POST['ceshi_submit'])){
			$_POST['ceshi_haoma'] = trim($_POST['ceshi_haoma']);
			$_POST['ceshi_con'] = trim($_POST['ceshi_con']);
			
			if(empty($_POST['ceshi_con']) || empty($_POST['ceshi_haoma'])){
				echo json_encode(array("-1","内容或者手机号不能为空!"));
				return;
			}			

			if(!is_numeric($_POST['ceshi_haoma'])){
				echo json_encode(array("-1","手机号不正确!"));
				return;
			}
			$sendok=_sendmobile($_POST['ceshi_haoma'],$_POST['ceshi_con']);

			echo json_encode($sendok);
			return;	
		}
		
		
		
		
		/************************************/
		/*短信条数*/
		foreach($mobiles as $k=>$v){
			if(is_array($v)){
				$k_t = explode("_",$k);
				$k_t = array_pop($k_t);
				$k_t_fun = "cfg_getdata_".$k_t;
				$sendobj -> $k_t_fun();

				if($sendobj->v){
					$mobiles[$k]['mobile_text'] = "<b style='color:#0c0'>短信功能正常</b>,短信还剩余 ".$sendobj->v." 条";
				}else{
					$mobiles[$k]['mobile_text'] = "<b style='color:#ff0000'>短信测试失败</b>,失败原因:".$sendobj->error;
				}
				
			}
		}
		$mobiles['cfg_mobile_'.count($mobiles)] = array("mid"=>"","mpass"=>"","mobile_text"=>"");
				
		include $this->tpl(ROUTE_M,'config.mobile');
	}
	
	

	public function mobiles(){
		$mobile=array('mid'=>'','mpass'=>'');
		$mobile=System::load_sys_config("mobile");
				
		$cesi=$this->segment(4);		
		
		if(isset($_POST['dosubmit_ceshi'])){
			$sendobj = System::load_sys_class("sendmobile");
						
			$_POST['ceshi_haoma'] = trim($_POST['ceshi_haoma']);
			$_POST['ceshi_con'] = trim($_POST['ceshi_con']);
			
			if(empty($_POST['ceshi_con']) || empty($_POST['ceshi_haoma'])){
				echo json_encode(array("-1","内容或者手机号不能为空!"));
				return;
			}			
			$ret = $sendobj->mobile_con_check($_POST['ceshi_con']);
			
			//内容检测不合法返回
			if($ret[0]==-1){
				echo json_encode($ret);
				return;
			}
			if(!is_numeric($_POST['ceshi_haoma'])){
				echo json_encode(array("-1","手机号不正确!"));
				return;
			}
			$sendok=_sendmobile($_POST['ceshi_haoma'],$_POST['ceshi_con']);
			echo json_encode($sendok);
			return;			
		}/*if end*/
		
		if(isset($_POST['dosubmit'])){
		
				$cfg_id= trim($_POST['mid']);			
				$cfg_pass = trim($_POST['mpass']);	
				$cfg_qianming = trim(isset($_POST['mqianming']) ? $_POST['mqianming'] : '');
				$cfg_type  = abs(intval($_POST['interface']));		

						
				if($cfg_type == 1){
					$mobile['cfg_mobile_1']['mid']    		= $cfg_id;
					$mobile['cfg_mobile_1']['mpass']  		= $cfg_pass;
					$mobile['cfg_mobile_1']['mqianming']   	= $cfg_qianming;	
					$mobile['cfg_mobile_2']['mid'] 			= $mobile['cfg_mobile_2']['mid'];
					$mobile['cfg_mobile_2']['mpass'] 		= $mobile['cfg_mobile_2']['mpass'];
					$mobile['cfg_mobile_2']['mqianming']	= $mobile['cfg_mobile_2']['mqianming'];
				}
				
				if($cfg_type == 2){
					$mobile['cfg_mobile_1']['mid'] 			= $mobile['cfg_mobile_1']['mid'];
					$mobile['cfg_mobile_1']['mpass'] 		= $mobile['cfg_mobile_1']['mpass'];
					$mobile['cfg_mobile_1']['mqianming']	= $mobile['cfg_mobile_1']['mqianming'];
					$mobile['cfg_mobile_2']['mid'] 			= $cfg_id;
					$mobile['cfg_mobile_2']['mpass'] 		= $cfg_pass;
					$mobile['cfg_mobile_2']['mqianming']	= $cfg_qianming;				
				}		
				
				$mobile['cfg_mobile_on'] = $cfg_type;
						
				if(!is_writable(G_CONFIG.'mobile.inc.php')) _message('Please chmod  mobile.ini.php  to 0777 !');
				
				$html  = var_export($mobile,true);
				$html  = "<?php \n return ".$html."; \n?>";
				$ok=file_put_contents(G_CONFIG.'mobile.inc.php',$html);
				if($ok){
					_message("短信配置更新成功!");
				}
		}
		
		$sendmobile=System::load_sys_class("sendmobile");
		
		$sendmobile->GetBalance();			
		if($sendmobile->error==1){
			$text2="<b style='color:#0c0'>短信功能正常</b>,短信还剩余 ".$sendmobile->v." 条";
		}else{
			$text2="<b style='color:#ff0000'>短信测试失败</b>,失败原因:".$sendmobile->v;
		}
		
		$new_mbl = $sendmobile->GetBalance_new();
		if($new_mbl['id']){
			$text1= "<b style='color:#0c0'>短信功能正常</b>,短信还剩余 ".$new_mbl['id']." 条";
		}else{
			$text1= "<b style='color:#ff0000'>短信测试失败</b>,失败原因:".$new_mbl['err'];
		}
		
		
		if(!isset($mobile['cfg_mobile_2'])){
			$mobile['cfg_mobile_1'] = $mobile['cfg_mobile_2'] = array(); 
			$mobile['cfg_mobile_2']['mid'] 			= $mobile['mid'];
			$mobile['cfg_mobile_2']['mpass'] 		= $mobile['mpass'];;
			$mobile['cfg_mobile_2']['mqianming']	= $mobile['mqianming'];		
			$mobile['cfg_mobile_1'] = array(); 
			$mobile['cfg_mobile_1']['mid'] 			= '';
			$mobile['cfg_mobile_1']['mpass'] 		= '';
			$mobile['cfg_mobile_1']['mqianming']	= '';
			
		}
				
				
		include $this->tpl(ROUTE_M,'config.mobile');
	}

	

	//上传配置

	public function upload(){	

	

		if(isset($_POST['dosubmit'])){

				$up_image_type = htmlspecialchars($_POST['up_image_type']);	

				$up_soft_type = htmlspecialchars($_POST['up_soft_type']);	

				$up_media_type = htmlspecialchars($_POST['up_media_type']);	

				$upsize = intval($_POST['upsize']);

				$up_image_type = trim($up_image_type,',');

				$up_soft_type = trim($up_soft_type,',');

				$up_media_type = trim($up_media_type,',');

								

				EditConfig("upload","upsize",$upsize,'xiao');

				EditConfig("upload","up_image_type",$up_image_type,'xiao');

				EditConfig("upload","up_soft_type",$up_soft_type,'xiao');

				EditConfig("upload","up_media_type",$up_media_type,'xiao');				

		

				_message("操作成功!");				

				

		}

	

		$web=System::load_sys_config('upload');

		/*	

			$up_image_type = implode(',',$web['up_image_type']);

			$up_soft_type = implode(',',$web['up_soft_type']);

			$up_media_type = implode(',',$web['up_media_type']);

		*/

		$up_image_type = $web['up_image_type'];

		$up_soft_type = $web['up_soft_type'];

		$up_media_type = $web['up_media_type'];

		include $this->tpl(ROUTE_M,'config.upload');

	}

	//水印配置

	public function watermark(){

		$upload_set = System::load_sys_config("upload");

		if(isset($_POST['dosubmit'])){

		

			$watermark_off = $_POST['watermark_off'];

			$watermark_type = $_POST['watermark_type'];

			

			$text = htmlspecialchars($_POST['text']);

			$color = htmlspecialchars($_POST['color']);

			$size = intval($_POST['size']);

			

			$width = intval($_POST['width']);

			$height = intval($_POST['height']);

			$image = htmlspecialchars($_POST['image']);

			$apache = intval($_POST['apache']);

			$good = intval($_POST['good']);

			$sel = htmlspecialchars($_POST['sel']);

			$html =<<<HTML

			<?php 

			/*

				上传和水印配置

				@up_image_type 		上传图片类型

				@up_soft_type		上传附件类型

				@up_media_type		上传媒体类型

				@upsize				允许单文件最大大小

				@watermark_off		水印开启

				@watermark_type		水印类型

				@watermark_condition

				@watermark_text		文本水印配置

				@watermark_image	图片水印地址

				@watermark_position 水印位置

			*/

			return array(

				'up_image_type' => '$upload_set[up_image_type]',

				'up_soft_type' => '$upload_set[up_soft_type]',

				'up_media_type' => '$upload_set[up_media_type]',

				'upsize' => '$upload_set[upsize]',

				'watermark_off' => '$watermark_off',

				'watermark_condition' => array('width'=>'$width','height'=>"$height"),

				'watermark_type' => '$watermark_type',

				'watermark_text' => array('text'=>"$text",'color'=>"$color",'size'=>"$size",'font'=>'C:\WINDOWS\Fonts\simhei.ttf'),

				'watermark_image' => '$image',

				'watermark_position' => '$sel',

				'watermark_apache' => '$apache',

				'watermark_good' => '$good',

			);

			?>

HTML;



			$path = G_CONFIG.'/'.'upload.inc.php';

			file_put_contents($path,$html);

			_message("修改成功");

		}

				

		include $this->tpl(ROUTE_M,'config.watermark');

	}

	



	//验证码配置

	public function checkcode(){

			if(isset($_POST['type'])){

			$info= array();

			$info['width']=$_POST['width'];

			$info['height']=$_POST['height'];

			$info['color']=$_POST['color'];

			$info['bgcolor']=$_POST['bgcolor'];

			$info['lenght']=$_POST['lenght'];

			$info['type']=$_POST['type'];

			

			$html_a=var_export($info,true);

			$html="

				<?php 

					return {$html_a};

				?>

			";

			$path = G_CONFIG.'/'.'checkcode.inc.php';

			file_put_contents($path,$html);

			}

			include $this->tpl(ROUTE_M,'config.checkcode');

	}

	

}//



?>